package de.tabuma.soap.entity.wsdl;

import java.util.*;
import java.io.*;
import javax.jdo.annotations.*;

import de.tabuma.soap.entity.bpel.*;
import de.tabuma.soap.entity.soap.*;
import de.tabuma.soap.annotation.*;

/**
 * @author $Author: alefen $
 * @version $Revision: 1.1 $
 * @since $Date: 2009/12/30 02:57:12 $
 */
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class TExtensibleDocumented implements Serializable {

    public TExtensibleDocumented() {
       this.any = new ArrayList<Long>();
       this.documentId = new Long(0);
    }

    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long id;
    public Long getId() {
        return id;
    }

    @Persistent
    @SoapExtendsDefinition(extendsClass=TDocument.class)
    private Long documentId;
    public Long getDocumentId() {
        return documentId;
    }
    public void setDocumentId(Long documentId) {
        this.documentId = documentId;
    }
    
    @Persistent
    @SoapFieldDefinition(
        {
            @SoapFieldClass(classDefinition=BPartnerLinkType.class),
            @SoapFieldClass(classDefinition=BRole.class),
            @SoapFieldClass(classDefinition=SAddress.class),
            @SoapFieldClass(classDefinition=SBinding.class),
            @SoapFieldClass(classDefinition=SBody.class),
            @SoapFieldClass(classDefinition=SFault.class),
            @SoapFieldClass(classDefinition=SHeader.class),
            @SoapFieldClass(classDefinition=SHeaderFault.class),
            @SoapFieldClass(classDefinition=SOperation.class)
        }
    )
    protected List<Long> any;
    public List<Long> getAny() {
        if(this.any==null) {
            this.any = new ArrayList<Long>();
        }
        return this.any;
    }
    public void setAny(List<Long> any) {
        this.any = any;
    }
}
